package com.yiren.dbaa.module.device.contract;

import com.yiren.dbaa.currency.api.CommonCallBack;
import com.yiren.dbaa.module.device.bean.DeviceBaseInfoBean;
import com.yiren.dbaa.module.device.bean.DeviceDisplayInfoBean;
import com.yiren.dbaa.module.device.bean.DeviceGjdInfoBean;

/**
 * @author lwb
 * @date : 2022/7/6 15:17
 * @description: 设备信息P
 */
public interface DeviceInfoContract {

    interface Presenter {
        /**
         * 获取基本信息
         */
        void getBaseInfo(View view);

        /**
         * 显示器信息
         */
        void getDisPlayInfo(View view);

        /**
         * 高精度信息
         */
        void getGjdInfo(View view);

        /**
         * 获取车辆状态
         */
        void getCarState(View view);

        /**
         * 关闭所有handler定时器
         */
        void  removeAllCallBack();

    }

    interface Model {

        /**
         * 获取流量卡信息
         *
         * @param callBack
         */
        void getSimCard(CommonCallBack callBack);

        /**
         * 刷新车辆状态信号
         */
        void  refreshCarstate(CommonCallBack callBack);

        /**
         * 关闭所有handler定时器
         */
        void  removeAllCallBack();


    }

    interface View {
        /**
         * 显示基本信息
         *
         * @param deviceBaseInfo
         */
        void showBaseInfo(DeviceBaseInfoBean deviceBaseInfo);

        /**
         * 显示显示器信息
         *
         * @param deviceDisplayInfo
         */
        void showDisplayInfo(DeviceDisplayInfoBean deviceDisplayInfo);

        /**
         * 显示高精度信息
         *
         * @param deviceGjdInfo
         */
        void showGjdInfo(DeviceGjdInfoBean deviceGjdInfo, boolean isShow);


        /**
         * 车辆信号刷新显示
         */
        void showCarState();


    }
}
